
# %s 转换说明符
# s 意味着将值视为字符串进行设置, 如果不是字符串将使用 str 转换为字符串
fm = "hello, %s.%s enough for ya?"
values = ("world", "Hot")
print(fm % values)

print("你输入的是 %s" % (input('输入试试 ')))
print("保留三位小数为 %.3f" % (int(input('输入一个数字'))))
print("{}{}{}{}".format(1, 2, 3, 4))
print("{3}{1}{2}{0}".format(1, 2, 3, 4))
a = 123
print(f"可以直接替换{a}值")

# 替换字段名
print("{foo} {} {bar} {}".format(1, 2, bar=4, foo=5))
print("{foo} {1} {bar} {0}".format(1, 2, bar=4, foo=5))
ls = ['item1', 'item2']
print("{arr[1]} 在这里".format(arr=ls))

# 基本转换
# 上述三个标志（s、r和a）指定分别使用str、repr和ascii进行转换
print("{pi!s} {pi!r} {pi!a}".format(pi="π"))
print("The number is {num}".format(num=42))
print("The number is {num:f}".format(num=42))

"""
字符串方法
"""

# 1. center
# 在字符串两侧填充字符让字符串居中
string = '这是一个很长的字符串一个'
print(string.center(30))
print(string.center(30, '-'))

# 2. find
# 在字符串中查找子串并返回首位索引, 如果没有返回 -1
print(string.find('一个'))
print(string.find('意义'))
print(string.find('一个', 3))
print(string.find('一个', 3, 11))

# 3. join
# 合并序列的元素
print(''.join(['1', '2', '3', '4', '5']))
dirs = '', 'usr', 'bin', 'env'
print('/'.join(dirs))
print('This is a test'.replace('test', '****'))

# 4. lower
# 转小写
print('HELLO WORLD!'.lower())

# 5. replace
# 替换

# 6. split
# 将字符串拆分为序列
print('1+2+3+4+5'.split('+'))

# 7. strip
# 将字符串开头和结尾的空白符删除
print('    123     '.strip())
print('*******123********'.strip('*'))

# 8. translate
# 方法translate与replace一样替换字符串的特定部分，但不同的是它只能进行单字符替换.这个方法的优势在于能够同时替换多个字符，因此效率比replace高
